package com.example.administrator.managesystem.base;

import android.app.Activity;
import android.app.Application;

import com.umeng.commonsdk.UMConfigure;
import com.umeng.socialize.PlatformConfig;
import com.umeng.socialize.UMShareAPI;
import com.videogo.openapi.EZOpenSDK;

import java.util.ArrayList;
import java.util.List;


/**
 *
 *
 *  * ----------Dragon be here!----------/ 
 *  *  　　　┏┓　　　┏┓ 
 *  *  　　┏┛┻━━━┛┻┓ 
 *  *  　　┃　　　　　　　┃ 
 *  *  　　┃　　　━　　　┃ 
 *  *  　　┃　┳┛　┗┳　┃ 
 *  *  　　┃　　　　　　　┃ 
 *  *  　　┃　　　┻　　　┃ 
 *  *  　　┃　　　　　　　┃ 
 *  *  　　┗━┓　　　┏━┛ 
 *  *  　　　　┃　　　┃神兽保佑 
 *  *  　　　　┃　　　┃代码无BUG！ 
 *  *  　　　　┃　　　┗━━━┓ 
 *  *  　　　　┃　　　　　　　┣┓ 
 *  *  　　　　┃　　　　　　　┏┛ 
    *  　　　　┗┓┓┏━┳┓┏┛ 
    *  　　　　　┃┫┫　┃┫┫ 
    *  　　　　　┗┻┛　┗┻┛ 
  *  ━━━━━━神兽出没━━━━━━
   */


public class MyApplication extends Application {
    //    private DaoMaster.DevOpenHelper mHelper;
//    private SQLiteDatabase db;
//    private DaoMaster mDaoMaster;
//    private DaoSession mDaoSession;
    private List<Activity> oList;//用于存放所有启动的Activity的集合
    //开发者需要填入自己申请的appkey
    public static String HiKAppKey = "a8e93e425b9d448499e3cef017545493";

    public static EZOpenSDK getOpenSDK() {
        return EZOpenSDK.getInstance();
    }

    {
//AppID: wx412717960e93e291
//AppSecret: a9da15094b41d4386a08710ba5854e94
        PlatformConfig.setWeixin("wx412717960e93e291", "a9da15094b41d4386a08710ba5854e94");

        //APP ID 1108132127 APPKEY K6N4VHjmMQxoONop
        PlatformConfig.setQQZone("1108132127", "K6N4VHjmMQxoONop");
    }
    public static MyApplication instances;

    public static MyApplication getInstances() {

        return instances;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        UMShareAPI.get(this);
        UMConfigure.init(this,"5a12384aa40fa3551f0001d1"
                ,"umeng",UMConfigure.DEVICE_TYPE_PHONE,"");//58edcfeb310c93091c000be2 5965ee00734be40b580001a0

        instances = this;
        setDatabase();
        /** * sdk日志开关，正式发布需要去掉 */
        EZOpenSDK.showSDKLog(true);
        /** * 设置是否支持P2P取流,详见api */
        EZOpenSDK.enableP2P(false);

        /** * APP_KEY请替换成自己申请的 */
          EZOpenSDK.initLib(this,HiKAppKey);
        oList = new ArrayList<Activity>();
       // EZOpenSDK.getInstance().setAccessToken("at.53qahg6tc45580l5c5e77ztkc9o2zubl-3gm80lz1iy-1sh3427-nupldv75e");
    }

    /**
     * 设置greenDao
     */
    private void setDatabase() {
//        // 通过 DaoMaster 的内部类 DevOpenHelper，你可以得到一个便利的 SQLiteOpenHelper 对象。
//        // 可能你已经注意到了，你并不需要去编写「CREATE TABLE」这样的 SQL 语句，因为 greenDAO 已经帮你做了。
//        // 注意：默认的 DaoMaster.DevOpenHelper 会在数据库升级时，删除所有的表，意味着这将导致数据的丢失。
//        // 所以，在正式的项目中，你还应该做一层封装，来实现数据库的安全升级。
//        mHelper = new DaoMaster.DevOpenHelper(this, "kayi-db", null);
//        db = mHelper.getWritableDatabase();
//        // 注意：该数据库连接属于 DaoMaster，所以多个 Session 指的是相同的数据库连接。
//        mDaoMaster = new DaoMaster(db);
//        mDaoSession = mDaoMaster.newSession();
//    }
//    public DaoSession getDaoSession() {
//        return mDaoSession;
//    }
//    public SQLiteDatabase getDb() {
//        return db;
//    }
    }
    /**
     * 添加Activity
     */
    public void addActivity(Activity activity) {
// 判断当前集合中不存在该Activity
        if (!oList.contains(activity)) {
            oList.add(activity);//把当前Activity添加到集合中
        }
    }

    /**
     * 销毁单个Activity
     */
    public void removeActivity(Activity activity) {
//判断当前集合中存在该Activity
        if (oList.contains(activity)) {
            oList.remove(activity);//从集合中移除
            activity.finish();//销毁当前Activity
        }
    }

    /**
     * 销毁所有的Activity
     */
    public void removeALLActivity() {
        //通过循环，把集合中的所有Activity销毁
        for (Activity activity : oList) {
            activity.finish();
        }
    }
}